<?php

namespace Gds\AchatBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Gds\AchatBundle\Entity\LigneBonLivraisonFournisseur
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Gds\AchatBundle\Entity\LigneBonLivraisonFournisseurRepository")
 */
class LigneBonLivraisonFournisseur
{
    /**
     * @ORM\ManyToOne(targetEntity="Gds\AchatBundle\Entity\BonLivraisonFournisseur", inversedBy="lignes")
     * @ORM\JoinColumn(nullable=false)
     */
    private $bon_livraison;
    /**
     * @ORM\OneToMany(targetEntity="Gds\AchatBundle\Entity\LigneFactureAvoirFournisseur", mappedBy="Ligne_bon_livraison_fournisseur")

     */
    private $lignes_facture_avoir;
    /**
     * @ORM\OneToMany(targetEntity="Gds\AchatBundle\Entity\LigneBonLivraisonRetourFournisseur", mappedBy="Ligne_bon_livraison_fournisseur")

     */
    private $lignes_bon_livraison_retour;
    /**
     * @ORM\ManyToOne(targetEntity="Gds\ArticleBundle\Entity\Article", inversedBy="lignesBonLivraisonFournisseur")
     * @ORM\JoinColumn(nullable=false)
     */
    private $article;
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var float $quantite
     *
     * @ORM\Column(name="quantite", type="decimal", scale=3)
     */
    private $quantite;
    /**
     * @var float $quantite_retour
     *
     * @ORM\Column(name="quantite_retour", type="decimal", scale=3)
     */
    private $quantite_retour;
    

    /**
     * @var float $prix_unitaire_ht
     *
     * @ORM\Column(name="prix_unitaire_ht", type="decimal", scale=3)
     */
    private $prix_unitaire_ht;

    /**
     * @var float $taux_tva
     *
     * @ORM\Column(name="taux_tva", type="decimal", scale=2)
     */
    private $taux_tva;

    /**
     * @var float $taux_remise
     *
     * @ORM\Column(name="taux_remise", type="decimal", scale=2)
     */
    private $taux_remise;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set quantite
     *
     * @param float $quantite
     * @return LigneBonLivraisonFournisseur
     */
    public function setQuantite($quantite)
    {
        $this->quantite = $quantite;
    
        return $this;
    }

    /**
     * Get quantite
     *
     * @return float 
     */
    public function getQuantite()
    {
        return $this->quantite;
    }
    /**
     * Set prix_unitaire_ht
     *
     * @param float $prixUnitaireHt
     * @return LigneBonLivraisonFournisseur
     */
    public function setPrixUnitaireHt($prixUnitaireHt)
    {
        $this->prix_unitaire_ht = $prixUnitaireHt;
    
        return $this;
    }

    /**
     * Get prix_unitaire_ht
     *
     * @return float 
     */
    public function getPrixUnitaireHt()
    {
        return $this->prix_unitaire_ht;
    }

    /**
     * Set taux_tva
     *
     * @param float $tauxTva
     * @return LigneBonLivraisonFournisseur
     */
    public function setTauxTva($tauxTva)
    {
        $this->taux_tva = $tauxTva;
    
        return $this;
    }

    /**
     * Get taux_tva
     *
     * @return float 
     */
    public function getTauxTva()
    {
        return $this->taux_tva;
    }

    /**
     * Set taux_remise
     *
     * @param float $tauxRemise
     * @return LigneBonLivraisonFournisseur
     */
    public function setTauxRemise($tauxRemise)
    {
        $this->taux_remise = $tauxRemise;
    
        return $this;
    }

    /**
     * Get taux_remise
     *
     * @return float 
     */
    public function getTauxRemise()
    {
        return $this->taux_remise;
    }

    /**
     * Set quantite_retour
     *
     * @param float $quantiteRetour
     * @return LigneBonLivraisonFournisseur
     */
    public function setQuantiteRetour($quantiteRetour)
    {
        $this->quantite_retour = $quantiteRetour;
    
        return $this;
    }

    /**
     * Get quantite_retour
     *
     * @return float 
     */
    public function getQuantiteRetour()
    {
        return $this->quantite_retour;
    }

    

   
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->lignes_facture_avoir = new \Doctrine\Common\Collections\ArrayCollection();
        $this->lignes_bon_livraison_retour = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Set bon_livraison
     *
     * @param \Gds\AchatBundle\Entity\BonLivraisonFournisseur $bonLivraison
     * @return LigneBonLivraisonFournisseur
     */
    public function setBonLivraison(\Gds\AchatBundle\Entity\BonLivraisonFournisseur $bonLivraison)
    {
        $this->bon_livraison = $bonLivraison;

        return $this;
    }

    /**
     * Get bon_livraison
     *
     * @return \Gds\AchatBundle\Entity\BonLivraisonFournisseur 
     */
    public function getBonLivraison()
    {
        return $this->bon_livraison;
    }

    /**
     * Add lignes_facture_avoir
     *
     * @param \Gds\AchatBundle\Entity\LigneFactureAvoirFournisseur $lignesFactureAvoir
     * @return LigneBonLivraisonFournisseur
     */
    public function addLignesFactureAvoir(\Gds\AchatBundle\Entity\LigneFactureAvoirFournisseur $lignesFactureAvoir)
    {
        $this->lignes_facture_avoir[] = $lignesFactureAvoir;

        return $this;
    }

    /**
     * Remove lignes_facture_avoir
     *
     * @param \Gds\AchatBundle\Entity\LigneFactureAvoirFournisseur $lignesFactureAvoir
     */
    public function removeLignesFactureAvoir(\Gds\AchatBundle\Entity\LigneFactureAvoirFournisseur $lignesFactureAvoir)
    {
        $this->lignes_facture_avoir->removeElement($lignesFactureAvoir);
    }

    /**
     * Get lignes_facture_avoir
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getLignesFactureAvoir()
    {
        return $this->lignes_facture_avoir;
    }

    /**
     * Add lignes_bon_livraison_retour
     *
     * @param \Gds\AchatBundle\Entity\LigneBonLivraisonRetourFournisseur $lignesBonLivraisonRetour
     * @return LigneBonLivraisonFournisseur
     */
    public function addLignesBonLivraisonRetour(\Gds\AchatBundle\Entity\LigneBonLivraisonRetourFournisseur $lignesBonLivraisonRetour)
    {
        $this->lignes_bon_livraison_retour[] = $lignesBonLivraisonRetour;

        return $this;
    }

    /**
     * Remove lignes_bon_livraison_retour
     *
     * @param \Gds\AchatBundle\Entity\LigneBonLivraisonRetourFournisseur $lignesBonLivraisonRetour
     */
    public function removeLignesBonLivraisonRetour(\Gds\AchatBundle\Entity\LigneBonLivraisonRetourFournisseur $lignesBonLivraisonRetour)
    {
        $this->lignes_bon_livraison_retour->removeElement($lignesBonLivraisonRetour);
    }

    /**
     * Get lignes_bon_livraison_retour
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getLignesBonLivraisonRetour()
    {
        return $this->lignes_bon_livraison_retour;
    }

    /**
     * Set article
     *
     * @param \Gds\ArticleBundle\Entity\Article $article
     * @return LigneBonLivraisonFournisseur
     */
    public function setArticle(\Gds\ArticleBundle\Entity\Article $article)
    {
        $this->article = $article;

        return $this;
    }

    /**
     * Get article
     *
     * @return \Gds\ArticleBundle\Entity\Article 
     */
    public function getArticle()
    {
        return $this->article;
    }
}
